home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / database / ingres04.lzh / source / parser / parser.h < prev    next >
Encoding:
C/C++ Source or Header  |  1985-02-08  |  1.7 KB  |  71 lines

  1. #
  2. /*
  3. **    COPYRIGHT
  4. **
  5. **    The Regents of the University of California
  6. **
  7. **    1977
  8. **
  9. **    This program material is the property of the
  10. **    Regents of the University of California and
  11. **    may not be reproduced or disclosed without
  12. **    the prior written permission of the owner.
  13. */
  14.  
  15. /*
  16. **    Version:
  17. **        @(#)parser.h    8.3    2/8/85
  18. */
  19.  
  20.  
  21.  
  22. # define    DBUFSIZ        2000    /* size of buffer for dbu commands */
  23. # define    TREEMAX        2500    /* max number of bytes for tree */
  24. # define    MAXATT        150    /* max number of attributes in the att stash */
  25.  
  26. # define    V6POINT3COMPAT
  27.  
  28. # define    WARN        0    /* for a non fatal error */
  29. # define    FATAL        1    /* for a fatal error */
  30.  
  31. /* mode parameters for range table manipulation */
  32. # define    LOOKREL        1
  33. # define    LOOKVAR        2
  34. # define    R_INTERNAL    3
  35. # define    R_EXTERNAL    4
  36. # define    R_IMPLICIT    5
  37.  
  38. # define    RELVUSED    01
  39.  
  40. /* the first argument in argv which may be an ad hoc flag */
  41. # define    FREEFLAGS    6
  42.  
  43. /* -- ASSORTED DATA STRUCTURES -- */
  44. struct atstash                    /* attribute table */
  45. {
  46.     char        atbid;            /* attribute number */
  47.     char        atbfrmt;        /* attribute form type */
  48.     char        atbfrml;        /* attribute form length */
  49.     char        atbname[MAXNAME];    /* attribute name */
  50.     struct atstash    *atbnext;        /* pointer to next entry in chain */
  51. };
  52.  
  53. struct parrng                /* auxiliary range table */
  54. {
  55.     DESC        vardesc;
  56.     struct parrng    *frontpt;
  57.     struct parrng    *backpt;
  58.     struct atstash    *attlist;        /* head of attrib list for this reln */
  59.     int        relvused;        /* whether variable in use */
  60. };
  61.  
  62. typedef struct parrng     PARRNG;
  63.  
  64. struct constop                /* constant operator lookup table */
  65. {
  66.     char    *copname;        /* string name for identification */
  67.     int    copnum;            /* op number */
  68.     char    coptype;        /* op result type for formating */
  69.     char    coplen;            /* op result length for formatting */
  70. };
  71.